iT邦幫忙

2021 iThome 鐵人賽

DAY 2
0
自我挑戰組

菜鳥全端養成日誌系列 第 2

如何撰寫Dockerfile?

  • 分享至 

  • xImage
  •  

Docker指令整理

  • FROM: 使用到的 Docker Image 名稱
  • MAINTAINER: 用來說明,撰寫和維護這個 Dockerfile 的人是誰,也可以給 E-mail 的資訊
  • RUN: RUN 指令後面放 Linux 指令,用來執行安裝和設定這個 Image 需要的東西
  • COPY src dest
  • WORKDIR: Set the Working Directory
  • ADD: 把 Local 的檔案複製到 Image 裡,如果是 tar.gz 檔複製進去 Image 時會順便自動解壓縮
  • ENV: 用來設定環境變數
  • CMD: 設定 Container 啟動時要執行的指令
  • CMD的內容,當容器啟動若有指定其他命令,會被忽,

[補充 COPY vs ADD]

  • COPY和ADD二個的功用都一樣,就是將檔案複製進去image裡!

  • 差別在於:

    • COPY只能複製本機端的檔案或目錄
    • ADD能增加遠端url的檔案到docker image
    • ADD能順手將本機端複製進去的tar檔解開(遠端的tar不行!)
  • 罷特!很重要!客倌們!

  • 在實例上並不建議使用ADD來抓取網路上的檔案,會使用RUN curl or wget的方式。
    原因是使用一次ADD指令會增加docker image layers一次,原則上layers越多,docker image size就會越大!

[補充 yum]

  • yum clean
  • 清除安裝下載時的暫套件原始檔,大多是存放在/var/cache/yum,通常會下yum clean packages或是yum clean all,一次全刪除。

[補充 gcc]

  • GCC 是開放原始碼(open source) 的跨平台編譯器(compiler) ,支援編譯C 、 C++ 、 Objective-C 、 Fortran 、 Ada 及Go 等程式語言

[補充 libaio-devel-0.3.109-13.el7.x86_64.rpm]

  • libaio-devel - Development files for Linux-native asynchronous I/O access

上一篇
初步認識 CRM (Customer Relationship Management)
下一篇
Event Correlation 事件相關性
系列文
菜鳥全端養成日誌11
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言